package com.coolingme.general;

/**
 * 具体同事对象：负责实现自发行为（Self-Method），转发依赖方法（Dep-method）交由中介者进行转发协作
 *
 * @author wangyue
 * @date 2020-09-26 21:31
 */
public class ConcreteColleagueA extends AbstractColleague {
    public ConcreteColleagueA(AbstractMediator mediator) {
        super(mediator);
        this.mediator.setColleagueA(this);
    }

    /**
     * 自有方法 Self-Method
     */
    public void selfMethodA() {
        System.out.println("selfMethodA");
    }

    /**
     * 依赖方法
     */
    public void depMethodA() {
        // 处理自己的业务
        System.out.println("depMethodA");
        // 无法处理的业务委托给中介者处理
        this.mediator.transferA();
    }


}
